package sv.gob.mh.dgii.model;

// Generated Dec 12, 2007 1:25:05 PM by Hibernate Tools 3.2.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
import javax.persistence.UniqueConstraint;

/**
 * DcImprenta generated by hbm2java
 */
@Entity
@Table(name = "DC_IMPRENTA", schema = "EDADEPUDOC", uniqueConstraints = @UniqueConstraint(columnNames = "N_AUTORIZACION"))
public class DcImprenta implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -8529049380236021033L;
	private Long iindice;
	private TbActEco tbActEco;
	private EdDeclaraciones edDeclaraciones;
	private TbUnidadRecep tbUnidadRecep;
	private String nautorizacion;
	private String cregAlcaldia;
	private String nitpropietario;
	private String nitrepresentante;
	private Date fbalance;
	private Date frecepcion;
	private Double vactivo;
	private Double vvtasDoceMeses;
	private Integer nobreros;
	private Integer bactiva;
	private Date fautorizacion;
	private Date fresolucion;
	private Date fnotificacion;
	private Set<DcImprentaDet> dcImprentaDets = new HashSet<DcImprentaDet>(0);
	private Set<ImImprentSusp> imImprentSusps = new HashSet<ImImprentSusp>(0);

	public DcImprenta() {
	}

	public DcImprenta(Long iindice, EdDeclaraciones edDeclaraciones,
			TbUnidadRecep tbUnidadRecep, String nautorizacion, Date frecepcion,
			Integer bactiva) {
		this.iindice = iindice;
		this.edDeclaraciones = edDeclaraciones;
		this.tbUnidadRecep = tbUnidadRecep;
		this.nautorizacion = nautorizacion;
		this.frecepcion = frecepcion;
		this.bactiva = bactiva;
	}

	public DcImprenta(Long iindice, TbActEco tbActEco,
			EdDeclaraciones edDeclaraciones, TbUnidadRecep tbUnidadRecep,
			String nautorizacion, String cregAlcaldia, String nitpropietario,
			String nitrepresentante, Date fbalance, Date frecepcion,
			Double vactivo, Double vvtasDoceMeses, Integer nobreros,
			Integer bactiva, Date fautorizacion, Date fresolucion,
			Date fnotificacion, Set<DcImprentaDet> dcImprentaDets,
			Set<ImImprentSusp> imImprentSusps) {
		this.iindice = iindice;
		this.tbActEco = tbActEco;
		this.edDeclaraciones = edDeclaraciones;
		this.tbUnidadRecep = tbUnidadRecep;
		this.nautorizacion = nautorizacion;
		this.cregAlcaldia = cregAlcaldia;
		this.nitpropietario = nitpropietario;
		this.nitrepresentante = nitrepresentante;
		this.fbalance = fbalance;
		this.frecepcion = frecepcion;
		this.vactivo = vactivo;
		this.vvtasDoceMeses = vvtasDoceMeses;
		this.nobreros = nobreros;
		this.bactiva = bactiva;
		this.fautorizacion = fautorizacion;
		this.fresolucion = fresolucion;
		this.fnotificacion = fnotificacion;
		this.dcImprentaDets = dcImprentaDets;
		this.imImprentSusps = imImprentSusps;
	}

	@Id
	@Column(name = "I_INDICE", unique = true, nullable = false, precision = 18, scale = 0)
	public Long getIindice() {
		return this.iindice;
	}

	public void setIindice(Long iindice) {
		this.iindice = iindice;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_ACT_ECO")
	public TbActEco getTbActEco() {
		return this.tbActEco;
	}

	public void setTbActEco(TbActEco tbActEco) {
		this.tbActEco = tbActEco;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "I_INDICE", unique = true, nullable = false, insertable = false, updatable = false)
	public EdDeclaraciones getEdDeclaraciones() {
		return this.edDeclaraciones;
	}

	public void setEdDeclaraciones(EdDeclaraciones edDeclaraciones) {
		this.edDeclaraciones = edDeclaraciones;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "C_UNIDAD_RECEP", nullable = false)
	public TbUnidadRecep getTbUnidadRecep() {
		return this.tbUnidadRecep;
	}

	public void setTbUnidadRecep(TbUnidadRecep tbUnidadRecep) {
		this.tbUnidadRecep = tbUnidadRecep;
	}

	@Column(name = "N_AUTORIZACION", unique = true, nullable = false, length = 5)
	public String getNautorizacion() {
		return this.nautorizacion;
	}

	public void setNautorizacion(String nautorizacion) {
		this.nautorizacion = nautorizacion;
	}

	@Column(name = "C_REG_ALCALDIA", length = 25)
	public String getCregAlcaldia() {
		return this.cregAlcaldia;
	}

	public void setCregAlcaldia(String cregAlcaldia) {
		this.cregAlcaldia = cregAlcaldia;
	}

	@Column(name = "NIT_PROPIETARIO", length = 14)
	public String getNitpropietario() {
		return this.nitpropietario;
	}

	public void setNitpropietario(String nitpropietario) {
		this.nitpropietario = nitpropietario;
	}

	@Column(name = "NIT_REPRESENTANTE", length = 14)
	public String getNitrepresentante() {
		return this.nitrepresentante;
	}

	public void setNitrepresentante(String nitrepresentante) {
		this.nitrepresentante = nitrepresentante;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "F_BALANCE", length = 7)
	public Date getFbalance() {
		return this.fbalance;
	}

	public void setFbalance(Date fbalance) {
		this.fbalance = fbalance;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "F_RECEPCION", nullable = false, length = 7)
	public Date getFrecepcion() {
		return this.frecepcion;
	}

	public void setFrecepcion(Date frecepcion) {
		this.frecepcion = frecepcion;
	}

	@Column(name = "V_ACTIVO", precision = 13)
	public Double getVactivo() {
		return this.vactivo;
	}

	public void setVactivo(Double vactivo) {
		this.vactivo = vactivo;
	}

	@Column(name = "V_VTAS_DOCE_MESES", precision = 13)
	public Double getVvtasDoceMeses() {
		return this.vvtasDoceMeses;
	}

	public void setVvtasDoceMeses(Double vvtasDoceMeses) {
		this.vvtasDoceMeses = vvtasDoceMeses;
	}

	@Column(name = "N_OBREROS", precision = 5, scale = 0)
	public Integer getNobreros() {
		return this.nobreros;
	}

	public void setNobreros(Integer nobreros) {
		this.nobreros = nobreros;
	}

	@Column(name = "B_ACTIVA", nullable = false, precision = 1, scale = 0)
	public Integer getBactiva() {
		return this.bactiva;
	}

	public void setBactiva(Integer bactiva) {
		this.bactiva = bactiva;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "F_AUTORIZACION", length = 7)
	public Date getFautorizacion() {
		return this.fautorizacion;
	}

	public void setFautorizacion(Date fautorizacion) {
		this.fautorizacion = fautorizacion;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "F_RESOLUCION", length = 7)
	public Date getFresolucion() {
		return this.fresolucion;
	}

	public void setFresolucion(Date fresolucion) {
		this.fresolucion = fresolucion;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "F_NOTIFICACION", length = 7)
	public Date getFnotificacion() {
		return this.fnotificacion;
	}

	public void setFnotificacion(Date fnotificacion) {
		this.fnotificacion = fnotificacion;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "dcImprenta")
	public Set<DcImprentaDet> getDcImprentaDets() {
		return this.dcImprentaDets;
	}

	public void setDcImprentaDets(Set<DcImprentaDet> dcImprentaDets) {
		this.dcImprentaDets = dcImprentaDets;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "dcImprenta")
	public Set<ImImprentSusp> getImImprentSusps() {
		return this.imImprentSusps;
	}

	public void setImImprentSusps(Set<ImImprentSusp> imImprentSusps) {
		this.imImprentSusps = imImprentSusps;
	}

}
